package edu.eam.gruposenior.gestorLEcciones.entidades;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import static javax.persistence.FetchType.LAZY;

/**
 * Entity implementation class for Entity: Rol
 *
 */
@Entity
@NamedQueries({
	@NamedQuery(name=Rol.FIND_ALL,query="select r from Rol r")
})
public class Rol implements Serializable {
	
	/**
	 * Constante para la named Query de buscar todos los roles.
	 */
	public static final String FIND_ALL = "Rol.findAll";
   
	/**
	 * Constante de serializacion
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Llave primaria de la entidad.
	 */
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	
	/**
	 * descripcion del rol.
	 */
	private String descripcion;
	/**
	 * detalle de los roles que posee este.
	 */
	
	@OneToMany(fetch = LAZY, mappedBy = "rol")
	private List<DetalleRol> roles;

	public Rol() {
		super();
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * @param descripcion the descripcion to set
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * @return the roles
	 */
	public List<DetalleRol> getRoles() {
		return roles;
	}

	/**
	 * @param roles the roles to set
	 */
	public void setRoles(List<DetalleRol> roles) {
		this.roles = roles;
	}   
	
	public String toString(){
		return descripcion;
	}

}
